This program is freeware (but the source code is not).  You can use it for whatever you want, but I am NOT responsible for any of the consequences (although I really can not imagine any bad ones).

This program plots the orbits of various functions like the one found in the Hopalong Algorithm (Scientific American, Sep. 1986).  In simpler terms...this program makes pretty pictures.

It does this by plotting a point at a certain position, use a formula to calculate a new position based on the current position, plot a new point, and repeat up to 10 million times.

The functions that do this calculating are described in a separate file (function descriptions.txt).

I do recommend reading this readme file (I know, instructions are boring, but reading this will
	minimize frustration)

Width of pictures made can range from 100 to 2000 pixels.
Height of pictures made can range from 100 to 2000 pixels.

The settings for the formulas and pictures sizes can be saved and loaded into the program later.  The file extension for the settings files for the oh_joy program is .hop.

This program can also save your rendered picture as a windows bitmap (uncompressed).
	You can not load a bitmap however, so if you want to redo a picture later,
	SAVE your settings before changing them or quitting the program.
		(Just load those settings later and re-render to recover a picture).

Use of the Program:

Under the "File" Menu:

-->New:  Resets all setting back to the defaults, including picture size.  It will blank the screen, and plot a black rectangle.

-->Open:  Loads in a .hop settings file, blanks the screen and plots a black rectangle (to see the plot of the new settings, click "render" in the "Actions" menu.

-->Save & Save As:  Saves the settings in a .hop file so you can render the same pictures again at a later time.  I have included a number of decent settings in the zip file I am distributing the program in.

-->Save BMP and Save BMP As:  Saves the current rendered picture as an UNCOMPRESSED windows BMP file.  If you don't like all the file space it takes up, load the picture into a paint program and save it in a different format like jpeg or png.
-->Exit:  ends the program.

Under the "View" Menu:
-->Status Bar:  Turns the Status Bar on or off -->there is not any significant difference whether the Status Bar is on or off.

Under the "Actions" Menu:

-->Set Parameters:  This activates the settings dialog.  This dialog allows you to set the picture size, the color of the points being plotted, the formula used to calculate new positions, the number of times the formula is used, the coordinates of the sides of the picture, the plot mode, and other settings.  Further details on this dialog are given later.

-->Render:  Causes the program to make a picture according to the current settings.  Be warned, if you have the program plotting 10 million points, it will take a minute or two.

-->ReCenter:  Changes the center of the picture to a new position.  When you click ReCenter, the cursor changes until you make another left click.  Wherever you click will be the proposed new center.  When you make the left click, a dialog pops up asking if you want to ReCenter with the proposed new center.  If you click "yes", the coordinates of the picture are shifted and the picture is re-rendered.  If you click "no", the picture and its coordinates are left unchanged.  In any case, the cursor is change back to normal.

Under the "Help" Menu:

-->About oh_joy...:Brings up an "About Box" which may or may not be current.

MOUSE USEAGE:

-->Zooming In:  Click and hold the left mouse button down.  Move the mouse while still holding the left mouse button down.  A rectangle will be drawn, with one corner where you first click, and an opposite corner at wherever you have moved the cursor to.  Release the mouse button and a dialog will pop up asking if you want to zoom in to the new coordinates given by the rectangle.  Clicking "yes" will change the coordinates in your settings, and re-render the picture.  Clicking "no" leaves things the way they were.

-->Zooming Out:  Make a right click on the picture.  A Dialog pops up asking if you want to zoom out. Clicking "yes" will expand the coordinates in your settings around the center of the picture, and caused the picture to be re-rendered using the new coordinates.  Clicking "no" leaves things the way they were.

THE SETTINGS DIALOG:


-->A,B,C,D,E take decimal (or floating point) numbers ranging from -1000 to 1000.
	Depending on which formula you are using, some may not be able to take user input.
	What values are good?  It changes from formula to formula..(which is why I put some
	some sample settings files w/ the samples).

-->Rotation:  This tells the program how many degrees (not radians or gradians) to rotate a
	point after its new position has been calculated.  The point's position after rotation
	is the one that is fed back into the formula for the next step.

-->Initial X and Y: These indicate where the point starts at before any formulas have been applied.

-->Iterations is the number of new positions that are calculated and plotted.
	Ranges from 100 to ten million.
-->Top and Bottom give the Y coordinates of the top and bottom edges of the rectangle that the
	points are plotted into on the screen.
-->Left and Right give the X coordinates of the left and right edges of the rectangle that the
	points are plotted into on the screen.

		Note:  Rule 1.  The value of Top must be greater than Bottom.
		Note:  Rule 2.  The value of Right must be greater than left.
		Note:  Failure to follow these rules may result in
			unexpected results when zooming in or out.

-->"Pixels wide" and "Pixels high" determine how large the image appears on your screen.

-->Color 1, 2, 3, and 4 are the base colors that are used to plot the positions.
	(The actual color used depends on the plotting mode)

-->"Pixel Plot Mode"
There are 4 Choices.
The ones with "Overwrite" calculate a new color and change the pixel at the position
	being plotted with that new color.
The one with "Blend" calculate a new color, look at the current color of the pixel at
	position being plotted, and average the two colors (new and current), and
	the pixel is changed to the averaged color.
The ones with "Simple" only use the colors in the "Set Parameters" dialog.
	The first 1/4 of positions use color 1, the next 1/4 use color 2, etc..
The ones with "Gradient" gradually change the new color from color 1 to color 2
	to color 3 and end up at color 4.
As a result, "Blend (Gradient)" results in the most colorful pictures,
	but as always, more is not always better.

-->Change Formula:  Click this to change the formula.  Each time you click this button, the next
	formula in the list is "activated".  If you click the button with the "last" formula active,
	which is Groundnet Twelve, the program goes back to the beginning of the formula list and
	activates the first formula.

Known problems: This program has been tested on three computers, One XP system and two Vista. It did not work on one of the Vista systems (there was a vertical white bar in the middle of the screen).  The best guess at this time is that the one Vista system has some pecularities with its video card.  I don't have any fixes for this in the works at this time.



If you don't have the above problem, then have fun with this...


Stephen Hall of GroundNet Graphics
Jan 2011





